LEDs are widely used in general lighting applications. As their use expands, LED designs become more flexible to accommodate their evolving lighting system applications. A fundamental component of an LED lighting system is an LED driver.
By way of background, LED drivers regulate the amount of electrical power applied to individual LEDs, or an LED array. LED drivers differ from traditional power supplies in that LED drivers vary the amount of power applied to the LED based upon the LEDs fluctuating needs.
For example, many LED lighting systems include dimming capabilities. Other LED lighting systems may have electrical and structural similarities, but may have completely different illumination intensity requirements. One way to provide a dimming capability and/or control the illumination intensity of the LED lighting system is to vary the output current of the LED driver.
To increase the flexibility of LED drivers, many drivers include programmable settings. These programmable LED driver settings enable a single LED driver design to support the requirements of different LED lighting systems or luminaires. In most LED driver circuits, programmability is provided through use of a microcontroller.
In conventional LED drivers, a popular programming technique is to transmit digital messages, via a programming interface, to the microcontroller. These digital messages include instructions to the microcontroller related to the output current level. That is, the microcontroller reads these digital messages and adjusts the driver's output current level accordingly.
The problem with these conventional approaches is that most LED driver circuits include mainly analog circuit components. As a result, the speed and accuracy of these digital messages can be distorted and/or diminished as the messages are transmitted between the programming interface, through the analog circuitry, and to the microcontroller.